Page({

  /**  
   * 页面的初始数据
   */
  data: {
    newList: [],
    list: [],
    currentTab: 0,
    page: 1,
    pageSize: 10,
    total: 0,
    isLoading: false,
    isFinished: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
        // 加载分类数据
    wx.request({
      url: 'https://tea.qingnian8.com/api/qingnews/category',
      method: "GET",
      header: { 'access-key': 594043 },
      success: (res) => {
        this.setData({ newList: res.data.data || [] });
      }
    });
    // 初始化加载第一页新闻（关键：确保首次加载）
    this.loadNewsList(1);
  },

  // 切换导航标签
  switchTab(e) {
    const index = e.currentTarget.dataset.index;
    if (this.data.currentTab === index) return;
    this.setData({
      currentTab: index,
      page: 1,
      list: [],
      isFinished: false,
      isLoading: false
    });
    this.loadNewsList(1);
},

  // /**
  //  * 加载新闻列表数据
  //  * @param {number} page - 页码
  //  */
  loadNewsList(page,callback) {
    if (this.data.isLoading) return;
    this.setData({ isLoading: true });
  
    wx.request({
      url: 'https://tea.qingnian8.com/api/qingnews/newslist',
      method: 'GET',
      header: { 'access-key': 594043 },
      data: {
        page: page,
        pagesize: this.data.pageSize
      },
      success: (res) => {
        const newData = res.data.data || []; // 列表数据
        const total = res.data.count || newData.length; // 总条数（优先用接口返回的count）
  
        const list = page === 1 ? newData : [...this.data.list, ...newData];
        const isFinished = newData.length < this.data.pageSize || list.length >= total;
  
        this.setData({
          list: list,
          page: page,
          total: total,
          isLoading: false,
          isFinished: isFinished
        });
  
        // 执行成功回调（通知刷新完成）
        if (callback) callback(true); 
      },
      fail: (err) => {
        console.error('加载失败：', err);
        this.setData({ isLoading: false });
        
        // 执行失败回调
        if (callback) callback(false); 
      }
    });
  },

  /**
   * 跳转到新闻详情页
   */
  goToDetail: function (e) {
    const newsId = e.currentTarget.dataset.id;
    wx.navigateTo({ url: `/pages/index/detail?id=${newsId}` });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
     // 调用加载方法，传入回调函数处理提示
  this.loadNewsList(1, (isSuccess) => {
    wx.stopPullDownRefresh(); // 无论成功失败，都停止刷新动画
    if (isSuccess) {
      wx.showToast({ title: '刷新成功', icon: 'success', duration: 1500 });
    } else {
      wx.showToast({ title: '刷新失败', icon: 'none', duration: 1500 });
    }
  });
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.isLoading || this.data.isFinished) return;
    this.loadNewsList(this.data.page + 1);
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
})

